home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibt40s3.arc / PIBFMANI.MOD < prev    next >
Encoding:
Text File  |  1986-06-10  |  3.7 KB  |  88 lines

  1. (*----------------------------------------------------------------------*)
  2. (*        PibFileManipulation --- File Manipulation for Turbo           *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. PROCEDURE PibFileManipulation( VAR File_Done : BOOLEAN;
  6.                                VAR Do_Editing: BOOLEAN;
  7.                                VAR Do_Viewing: BOOLEAN );
  8.  
  9. (*----------------------------------------------------------------------*)
  10. (*                                                                      *)
  11. (*     Procedure:  PibFileManipulation                                  *)
  12. (*                                                                      *)
  13. (*     Purpose:    Central control routine for file manipulation        *)
  14. (*                                                                      *)
  15. (*     Calling Sequence:                                                *)
  16. (*                                                                      *)
  17. (*        PibFileManipulation( VAR File_Done : BOOLEAN;                 *)
  18. (*                             VAR Do_Editing: BOOLEAN;                 *)
  19. (*                             VAR Do_Viewing: BOOLEAN  );              *)
  20. (*                                                                      *)
  21. (*                                                                      *)
  22. (*           File_Done  --- TRUE if through with file manipulation      *)
  23. (*           Do_Editing --- TRUE to do editing                          *)
  24. (*           Do_Viewing --- TRUE to do viewing                          *)
  25. (*                                                                      *)
  26. (*     Calls:                                                           *)
  27. (*                                                                      *)
  28. (*     Remarks:                                                         *)
  29. (*                                                                      *)
  30. (*        This routine exists to centralize file manipulation so that   *)
  31. (*        the Turbo Pascal overlay scheme will work.                    *)
  32. (*                                                                      *)
  33. (*----------------------------------------------------------------------*)
  34.  
  35. VAR
  36.    File_Menu     : Menu_Type;
  37.    I             : INTEGER;
  38.    Done_Files    : BOOLEAN;
  39.  
  40. BEGIN (* PibFileManipulation *)
  41.                                    (* Get file manipulation menu *)
  42.  
  43.    Make_A_Menu( File_Menu, 10, 10, 30, 0, 0, 10,
  44.                 'Choose file function: ',
  45.                 'A)ctive directory change;C)opy file;D)irectory display;' +
  46.                 'E)dit file;F)ree space on drive;L)ogged drive change;'   +
  47.                 'P)rint a file;V)iew a file;Z)ap (delete) file;Q)uit;',
  48.                 FALSE );
  49.  
  50.    Done_Files := FALSE;
  51.    Do_Editing := FALSE;
  52.    Do_Viewing := FALSE;
  53.  
  54.    REPEAT
  55.  
  56.       Menu_Display_Choices( File_Menu );
  57.       I := Menu_Get_Choice( File_Menu , Erase_Menu );
  58.  
  59.       IF ( I < 0 ) THEN
  60.          I := 10;
  61.  
  62.       CASE I OF
  63.          1:  Change_Subdirectory;
  64.          2:  Copy_A_File;
  65.          3:  View_Directory;
  66.          4:  BEGIN
  67.                 Do_Editing := TRUE;
  68.                 Done_Files := TRUE;
  69.              END;
  70.          5:  Find_Free_Space_On_Drive;
  71.          6:  Log_Drive_Change;
  72.          7:  Print_A_File;
  73.          8:  BEGIN
  74.                 Do_Viewing := TRUE;
  75.                 Done_Files := TRUE;
  76.              END;
  77.          9:  Delete_A_File;
  78.         10:  Done_Files := TRUE;
  79.         ELSE;
  80.       END (* Case *);
  81.  
  82.    UNTIL Done_Files;
  83.  
  84.    File_Done := NOT ( Do_Editing OR Do_Viewing );
  85.  
  86. END   (* PibFileManipulation *);
  87.  
  88.